# Contributor: Sergei Lukin <sergej.lukin@gmail.com>
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Contributor: Pierre-Gilas MILLON <pgmillon@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libgit2-1.1
pkgver=1.1.1
pkgrel=1
pkgdesc="linkable library for Git"
url="https://libgit2.org/"
arch="all"
license="GPL-2.0-only WITH GCC-exception-2.0"
depends_dev="curl-dev libssh2-dev http-parser-dev"
makedepends="$depends_dev python3 cmake zlib-dev openssl1.1-compat-dev pcre-dev samurai"
source="$pkgname-$pkgver.tar.gz::https://github.com/libgit2/libgit2/archive/v$pkgver.tar.gz
	"
builddir="$srcdir/libgit2-$pkgver"

# secfixes:
#   0.28.4-r0:
#     - CVE-2019-1348
#     - CVE-2019-1349
#     - CVE-2019-1350
#     - CVE-2019-1351
#     - CVE-2019-1352
#     - CVE-2019-1353
#     - CVE-2019-1354
#     - CVE-2019-1387
#   0.27.4-r0:
#     - CVE-2018-15501
#   0.27.3-r0:
#     - CVE-2018-10887
#     - CVE-2018-10888
#   0.25.1-r0:
#     - CVE-2016-10128
#     - CVE-2016-10129
#     - CVE-2016-10130
#   0.24.3-r0:
#     - CVE-2016-8568
#     - CVE-2016-8569

prepare() {
	default_prepare
	sed -i 's|/usr/bin/env python|/usr/bin/env python3|' tests/generate.py
}

build() {
	cmake -B build -G Ninja \
		-DCMAKE_BUILD_TYPE=MinSizeRel \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_INSTALL_LIBDIR=lib \
		-DUSE_HTTP_PARSER=system \
		-DUSE_HTTPS=OpenSSL \
		-DREGEX_BACKEND=pcre \
		-DUSE_BUNDLED_ZLIB=OFF
	cmake --build build
}

check() {
	cd "$builddir"/build
	# Test 'offline' fails on s390x, aarch64 and ppc64le
	# online, auth_clone now require authentication for the test remote repo
	ctest -E 'offline|online|auth_clone' --output-on-failure
}

package() {
	DESTDIR="$pkgdir" cmake --install build

	# Remove everything but the library
	local dir; for dir in \
		usr/include \
		usr/lib/libgit2.so \
		usr/lib/pkgconfig; do
			rm -rf "$pkgdir"/"$dir"
	done
}

sha512sums="
287255c81e5baa04d8fbce95efca8174cb34da8025cab979445d41e8361955f1d8c582d7705666ae9fc03c5215fc4f4f57e51d73d14ca9b063ed94077f88e6bc  libgit2-1.1-1.1.1.tar.gz
"
